package org.twf.aicodehelper.service;

import dev.langchain4j.service.SystemMessage;

// AiService注解：将接口方法定义为AI服务，并生成相应的代理类。
//@AiService
public interface IAiCodeHelperService {

    /**
     * 对话
     *
     * @param message
     * @return
     */
    @SystemMessage(fromResource = "system-prompt.txt")
    String chat(String message);


//    /**
//     * 带会话记忆的聊天
//     *
//     * @param message
//     * @return
//     */
//    @SystemMessage(fromResource = "system-prompt.txt")
//    String chatWithMemory(String message);

//    /**
//     * 带会话记忆的聊天
//     * 多个用户需要依赖memoryId隔离消息
//     *
//     * @return AI回复
//     */
//    String chatWithMemoryId(@MemoryId String memoryId, @UserMessage String message);
//
//    /**
//     * 带会话记忆的聊天
//     * 由多个用户需要隔离消息
//     * 记录，java14引入的特性，使用record定义
//     * 会自动生成构造函数、getter方法、equals方法、toString方法，hashCode方法
//     *
//     * @return AI回复
//     */
//    Report report(@MemoryId String memoryId, @UserMessage String userMessage);
//
//    /**
//     * 带会话记忆的聊天
//     * 由多个用户需要隔离消息
//     * 记录，java14引入的特性，使用record定义
//     * 会自动生成构造函数、getter方法、equals方法、toString方法，hashCode方法
//     *
//     * @param memoryId       会话记忆ID
//     * @param suggestionList 建议列表
//     * @return AI回复
//     */
//    record Report(String memoryId, List<String> suggestionList) {
//    }
}
